import math
import numpy
import matplotlib.pyplot as plt

def normal_distribution(x, sigma=1):
   """
   计算标准正态分布的分布函数的值
   :param x: 随机变量
   :param sigma: 标准差，默认为1
   :return: 标准正态分布的分布函数的值
   """
   pi = math.pi
   return 1 / (math.sqrt(2 * pi) * sigma) * math.exp(-x ** 2 / (2 * sigma ** 2)) # 上述式子恰好对应书上41页下边内容

# 示例
x = 0.65
print(normal_distribution(x))    #注意此处算的并不是概率值！！！

# 生成 x 的取值范围
x = numpy.arange(-4, 4, 0.1)

# 计算标准正态分布的分布函数值
y = [normal_distribution(i) for i in x]

# 绘制图像
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title('Standard Normal Distribution')
plt.grid(True)
plt.show()